Voice response units ("VRUs") are well known. They allow a caller to enter and retrieve information by using the telephone keypad to respond to a voice menu. They can provide, for example, the playback of prerecorded, or voice synthesization of, successive digits in a telephone number in response to a request for directory assistance.
In prepaid telephone systems, VRUs are used to provide the subscriber with account information such as the time available to talk and billing information. This information may be obtained in a variety of ways. Some prior art systems charge a constant price per unit of time and thereby simply requiring the account balance to be divided by the price to obtain the available talk time (i.e., number of time units which can be purchased). These systems, while offering a straightforward approach for talk time calculations, are unable to support multiple rate time periods.
Other prior art systems providing multiple rate periods often use extensive looping in determining the available talk time. The systems subtract the cost of a unit of time unit from the account balance, check to see if the balance is less than zero, and if it isn't, add the time unit to the talk time. The systems then add the time unit to the current time, perform a check to see if a rate change is required for the "new" current time, and acquire the new rate if necessary. This process is repeated until the account funds are exhausted. The extensive looping required by these systems to obtain the available talk time/billing calculations results in degraded system performance.
Accordingly, it is an object of the present invention to provide a novel method and system for providing multiple rate periods while achieving near constant execution time regardless of the account balance.
It is another object of the present invention to provide a novel method and system which supports multiple rates during the course of a call while minimizing system performance degradation due to excessive looping.
It is yet another object of the present invention to provide a novel system and method for calculating the available talk time down to a one second granularity.
It is still another object of the present invention to provide a novel method and system for achieving constant execution regardless of the account balance and the system maximum talk time, while maintaining the ability to handle multiple rate periods without the algorithm being sensitive to clock changes.
These and many other objects and advantages of the present invention will be readily apparent to one skilled in the art to which the invention pertains from a perusal of the claims, the appended drawings, and the following detailed description of the preferred embodiments.